package com.hzsoft.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.Tag;

/**
 * <p>
 * 类描述：else
 * </p>
 * <p>
 * 创建人：liuyidong <br>
 * 创建时间：2012-5-4 上午11:46:01
 * </p>
 * <p>
 * 修改人：无 <br>
 * 修改时间：无 <br>
 * 修改备注：无
 * </p>
 * @version 1.0
 */
public class ElseTag extends BodyTagSupport{ 
	  
	private static final long serialVersionUID = -5764777821886249434L;

	public void release() { 
        super.release(); 
    } 
      
    public int doStartTag() throws JspException { 
        Tag parent = getParent(); 
        if(parent==null || !(parent instanceof IfTag)){ 
            throw new JspTagException("else tag must inside if tag"); 
        } 
          
        IfTag ifTag = (IfTag)parent; 
        if(ifTag.isSucceeded()){ 
            // 已经有执行成功的条件，保存之前的html 
            ifTag.setBody(); 
        }else{ 
            // 之前没有的判断没有成功条件,则清除之前的输出 
            ifTag.getBodyContent().clearBody(); 
            ifTag.succeeded(); 
        } 
        return EVAL_BODY_BUFFERED; 
    } 
}
